/**
 * 
 */
package com.nc.delivery_project.client.request;

import java.util.List;

import com.google.web.bindery.requestfactory.shared.Request;
import com.google.web.bindery.requestfactory.shared.RequestContext;
import com.google.web.bindery.requestfactory.shared.Service;
import com.nc.delivery_project.server.domain.City;
import com.nc.delivery_project.server.service.CityService;
import com.nc.delivery_project.shared.proxy.CityProxy;
import com.nc.delivery_project.shared.proxy.DepartmentProxy;
import com.nc.delivery_project.shared.servicelocator.CityServiceLocator;

/**
 * @author NataG
 *
 */
@Service(value = CityService.class, locator = CityServiceLocator.class)
public interface CityRequest  extends RequestContext {
	
	Request<Integer> create(CityProxy city);

    Request<List<CityProxy>> read();

    Request<CityProxy> read(int cityId);

    Request<Void> update(CityProxy city);

    Request<Void> delete(int cityId);
    
    Request<List<DepartmentProxy>> loadCityDepartments(int cityId);
    
    Request<List<CityProxy>> loadCityByStatePrId(int statePrId);
    
    

}
